package com.himiotech.core.project.web.base;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author wuwenbin
 */
@Controller
public class HimioBaseController extends JsonBaseController {

    /**
     * 每次请求对象应当是都是不同的，说明一下为什么可以这么注入
     * 此处spring注入的是request的JDK动态代理对象，也就是request的工厂
     * 所以每次请求都是去当前的请求线程中取真实的request的对象，所以此处可以在方法中这么注入
     * response同理
     * {@link org.springframework.web.context.support.WebApplicationContextUtils.RequestObjectFactory#getObject()}
     * 在此方法中其实是从ThreadLocal中取拿的
     */
    @Autowired
    protected HttpServletRequest request;

    @Autowired
    protected HttpServletResponse response;

}
